13939
14649
Acabei de instalar o Python 3.6.1 para MacOS X
Quando tento executar o console (ou executar qualquer coisa com Python3), este erro é gerado:
AttributeError: módulo 'enum' não tem atributo 'IntFlag'
$ /Library/Frameworks/Python.framework/Versions/3.6/bin/python3
Falha ao importar o módulo do site
Traceback (última chamada mais recente):
Arquivo "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py", linha 544, em 
a Principal()
Arquivo "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py", linha 530, no principal
caminhos_conhecidos = addusersitepackages (caminhos_conhecidos)
Arquivo "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py", linha 282, em addusersitepackages
user_site = getusersitepackages ()
Arquivo "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py", linha 258, em getusersitepackages
user_base = getuserbase () # isso também irá definir USER_BASE
Arquivo "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py", linha 248, em getuserbase
USER_BASE = get_config_var ('userbase')
Arquivo "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/sysconfig.py", linha 601, em get_config_var
return get_config_vars (). get (nome)
Arquivo "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/sysconfig.py", linha 580, em get_config_vars
import _osx_support
Arquivo "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/_osx_support.py", linha 4, em 
importar re
Arquivo "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/re.py", linha 142, em 
classe RegexFlag (enum.IntFlag):
AttributeError: módulo 'enum' não tem atributo 'IntFlag'
A classe IntFlag existe em enum.py. Então, por que o AttributeError está sendo lançado? 
É porque seu enum não é o módulo enum da biblioteca padrão. Você provavelmente tem o pacote enum34 instalado.
Uma maneira de verificar se este é o caso é inspecionar a propriedade enum .__ file__
import enum
imprimir (enum .__ file__)
# localização padrão da biblioteca deve ser algo como
# /usr/local/lib/python3.6/enum.py
Desde o python 3.6, a biblioteca enum34 não é mais compatível com a biblioteca padrão. A biblioteca também é desnecessária, então você pode simplesmente desinstalá-la.
pip uninstall -y enum34
Se você precisar que o código seja executado nas versões Python <= 3.4 e> 3.4, você pode tentar ter enum-compat como um requisito. Ele instala apenas enum34 para versões mais antigas de python sem a biblioteca padrão enum.
|
Não tenho certeza se você ainda tem esse problema. Tive um problema semelhante e consegui resolvê-lo simplesmente desmarcando PYTHONPATH
$ unset PYTHONPATH
|
Para mim, esse erro ocorreu após a instalação do componente app-engine-python do gcloud para integrar ao pycharm. Desinstalar o módulo ajudou, mesmo que o pycharm não esteja sendo carregado no app-engine.
|
Se alguém vier aqui devido a este erro ao executar um projeto de ambiente padrão do Google app engine Python 3.7 no PyCharm, tudo o que você precisa fazer é
Certifique-se de que a configuração a ser executada seja para Flask, não para a configuração do Google App Engine.
Em seguida, desative o suporte do Google App Engine em Preferências >> Idiomas e estrutura >> Google App Engine
O motivo é conforme este link
O objetivo geral é que seu aplicativo seja totalmente portátil e executado em qualquer ambiente Python padrão. Você escreve um aplicativo Python padrão, não um aplicativo Python do App Engine. Como parte dessa mudança, você não precisa mais usar APIs e serviços proprietários do App Engine para a funcionalidade principal do seu aplicativo. No momento, as APIs do App Engine não estão disponíveis no tempo de execução do Python 3.7.
Acho que quando criamos um projeto python 3.7 no PyCharm como um projeto do Google app engine, ele ainda tenta fazer a mesma coisa que faz para um aplicativo python2.7
|
AVISO LEGAL: Por favor, @ juanpa.arrivillaga, se você vir esta resposta, fique à vontade para escrever a sua própria e eu removerei esta postagem.
@ juanpa.arrivillaga mencionou acima:
Existe um nome de arquivo enum.py em seu diretório de trabalho, por acaso?
Este foi o problema que encontrei. Eu não estava ciente do módulo enum em python na época e havia nomeado meu arquivo de teste enum.py.
Como o nome do arquivo é o nome do módulo, houve um conflito. Mais informações sobre os módulos aqui: https://docs.python.org/2/tutorial/modules.html
|
Desativar o "Suporte do Google App Engine" nas preferências do pycharm corrigiu esse problema para mim.
|
A instalação da versão 1.1.8 do enum34 funcionou para mim.
Consegui corrigir isso adicionando enum34 = "== 1.1.8" a pyproject.toml.
Aparentemente, enum34 tinha um recurso na v1.1.8 que evitou esse erro, mas
isso regrediu na v1.1.9 +. No entanto, esta é apenas uma solução alternativa. o
melhor solução seria os pacotes usarem marcadores de ambiente para
você não precisa instalar o enum34, a menos que seja necessário.
Fonte: https://github.com/python-poetry/poetry/issues/1122
|
A resposta de Håken Lid ajudou a resolver meu problema (obrigado!), No meu caso presente no Python3.7 executando o Flask em um contêiner do Docker (DE tiangolo / uwsgi-nginx-flask: python3.7-alpine3.7).
No meu caso, enum34 estava sendo instalado por outra biblioteca (pip install smartsheet-python-sdk).
Para aqueles que vêm com um problema semelhante de contêiner do Docker, aqui está meu Dockerfile final (reduzido às linhas relevantes):
DE tiangolo / uwsgi-nginx-flask: python3.7-alpine3.7
...
RUN pip install -r requisitos.txt
RUN pip uninstall -y enum34
...
|
No caso de você ter que manter PYTHONPATH para python2 e python3, você pode escrever instruções de alias para definir o PYTHONPATH adequado em seu bash_profile:
Codifique suas variáveis ​​PYTHONPATH2 e PYTHONPATH3 em seu ~ / .bash_profile e adicione os seguintes aliases no final dele:
alias python = 'export PYTHONPATH = $ {PYTHONPATH2}; python'
alias python3 = 'export PYTHONPATH = $ {PYTHONPATH3}; python3'
Meu python (refere-se a python2) porque eu uso o python2 com mais frequência.
|
Sempre que tive este problema:
AttributeError: módulo 'enum' não tem atributo 'IntFlag'
simplesmente primeiro executo o comando:
PYTHONPATH não definido
e, em seguida, execute o comando desejado e obtive sucesso nisso.
|
Fiz usando pip install  --ignore-installed enum34
Depois que sua biblioteca necessária estiver instalada, procure avisos durante a construção.
Recebi um erro como este: Usando legado setup.py install para futuro, já que o pacote 'wheel' não está instaladoERROR: pyejabberd 0.2.11 tem o requisito enum34 == 1.1.2, mas você terá enum34 1.1.10 que é incompatível .
Para corrigir esse problema agora execute o comando: pip freeze | grep enum34. Isso fornecerá a versão do enum34 instalado. Agora desinstale-o por pip uninstall enum34 e reinstale a versão necessária como pip install "enum34 == 1.1.20"
|
Se você tiver esse problema ao executar testes no PyCharm, certifique-se de que a segunda caixa esteja desmarcada noconfigurações.
|
Tenho Python 2 e Python 3 instalados no meu computador. Por alguma razão estranha, tenho no sys.path do Python 3 também um caminho para o diretório da biblioteca do sitepackage do Python2 quando o módulo re é chamado. Se eu executar o Python 3 e importar enum e imprimir (enum .__ file__), o sistema não mostra esse caminho do Python 2 para os pacotes do site. Portanto, um hack muito bruto e sujo é modificar diretamente o módulo no qual enum é importado (siga os caminhos de traceback) e inserir o seguinte código antes de importar enum:
import sys
para i, p em enumerar (sys.path):
if "python27" em p.lower () ou "python2.7" em p.lower (): sys.path.pop (i)
import enum
Isso resolveu meu problema.
|
Até eu tive esse problema ao executar python -m grpc_tools.protoc --version
Tive que definir o PYTHONPATH para pacotes do site e desligar todas as janelas do prompt de comando e funcionou. Espero que ajude para usuários do gRPC.
|
Tive esse problema no ubuntu20.04 no jupyterlab no meu kernel env virtual com python3.8 e tensorflow 2.2.0. A mensagem de erro era
Traceback (última chamada mais recente):
Arquivo "/usr/lib/python2.7/runpy.py", linha 174, em _run_module_as_main
"__main__", fname, loader, pkg_name)
Arquivo "/usr/lib/python2.7/runpy.py", linha 72, em _run_code
código exec em run_globals
Arquivo "/home/hu-mka/.local/lib/python2.7/site-packages/ipykernel_launcher.py", linha 15, em 
de ipykernel importar kernelapp como app
Arquivo "/home/hu-mka/.local/lib/python2.7/site-packages/ipykernel/__init__.py", linha 2, em 
da importação .connect *
Arquivo "/home/hu-mka/.local/lib/python2.7/site-packages/ipykernel/connect.py", linha 13, em 
de IPython.core.profiledir import ProfileDir
Arquivo "/home/hu-mka/.local/lib/python2.7/site-packages/IPython/__init__.py", linha 48, em 
from .core.application import Application
Arquivo "/home/hu-mka/.local/lib/python2.7/site-packages/IPython/core/application.py", linha 23, em 
do aplicativo de importação traitlets.config.application, catch_config_error
Arquivo "/home/hu-mka/.local/lib/python2.7/site-packages/traitlets/__init__.py", linha 1, em 
de importação .traitlets *
Arquivo "/home/hu-mka/.local/lib/python2.7/site-packages/traitlets/traitlets.py", linha 49, em 
import enum
ImportError: Nenhum módulo denominado enum
O problema era que no link simbólico em / usr / bin / python estava apontando para python2. Solução:
cd / usr / bin /
sudo ln -sf python3 python
Esperançosamente, o uso do Python 2 cairá completamente em breve.
|
Tive esse problema ao instalar a biblioteca de transformadores do HuggingFace. Foi devido ao fato de o pacote enum34 ter sido instalado em meu ambiente, substituindo o enum integrado no Python. Este pacote foi provavelmente instalado por algo para compatibilidade futura que não é mais necessária com Python 3.6+. Portanto, a solução é simplesmente,
pip uninstall -y enum34
|
Infelizmente nenhuma das sugestões me ajudou, mas depois de pesquisar mais um pouco sobre isso
pip install aenum
resolveu para mim
|
Se alguém estiver tendo esse problema ao tentar executar o kernel Jupyter a partir de um virtualenv, basta adicionar o PYTHONPATH correto ao kernel.json de seu kernel virtualenv (Python 3 no exemplo):
{
"argv": [
"/usr/local/Cellar/python/3.6.5/bin/python3.6",
"-m",
"ipykernel_launcher",
"-f",
"{connection_file}"
],
"display_name": "Python 3 (TensorFlow)",
"linguagem": "python",
"env": {
"PYTHONPATH": "/Users/dimitrijer/git/mlai/.venv/lib/python3.6:/Users/dimitrijer/git/mlai/.venv/lib/python3.6/lib-dynload:/usr/local/ Cellar / python / 3.6.5 / Frameworks / Python.framework / Versions / 3.6 / lib / python3.6: /Users/dimitrijer/git/mlai/.venv/lib/python3.6/site-packages "
}
}
|
sua resposta
StackExchange.ifUsing ("editor", function () {
StackExchange.using ("externalEditor", function () {
StackExchange.using ("snippets", function () {
StackExchange.snippets.init ();
});
});
}, "partes de codigo");
StackExchange.ready (function () {
var channelOptions = {
tags: "" .split (""),
id: "1"
};
initTagRenderer ("". split (""), "" .split (""), channelOptions);
StackExchange.using ("externalEditor", function () {
// Tem que disparar o editor após os snippets, se os snippets estiverem habilitados
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using ("snippets", function () {
createEditor ();
});
}
outro {
createEditor ();
}
});
function createEditor () {
StackExchange.prepareEditor ({
useStacksEditor: false,
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputaçãoToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by \ u003ca href = \" https: //imgur.com/ \ "\ u003e \ u003csvg class = \" svg-icon \ "width = \" 50 \ "height = \" 18 \ "viewBox = \ "0 0 50 18 \" fill = \ "none \" xmlns = \ "http: //www.w3.org/2000/svg \" \ u003e \ u003cpath d = \ "M46.1709 9.17788C46.1709 8.26454 46,2665 7,94324 47,1084 7,58816C47.4091 7,46349 47,7169 7,36433 48,0099 7,26993C48,9099 6,97997 49,672 6,73443 49,672 5,93063C49,672 5,22043 48,98324,61182 48,1414 4,61182C47.4335 4,61182 46,7256 4,91628 46,0943 5,50789C45,7307 4,9328 45,2525 4,66231 44,6595 4,66231C43,6264 4,66231 43,1481 5,28821 43,1481 6,59048V11.9512C45,7307 4,9328 45,2525 4,66231 44,6595 4,66231C43,6264 4,66231 43,1481 5,28821 43,1481 6,59048V11.9512C45,7307 4,9328 45,2525 4,66231 44,6595 4,66231C43,6264 4,66231 43,1481 5,28821 43,1481 6,59048V11.9512C43,1481 6,50,68,68,62 13,25 13,25 13,2513,62 13,25 1295 13,62 59,62 56,62 13,25 1295 1295 13,62,65,15.125 13,25 62,35,15.125 13,25 56,62 13,25 62,25. / \ u003e \ u003cpath d = \ "M32.492 10,1419C32.492 12.6954 34.1182 14.0484 37.0451 14.0484C39.9723 14.0484 41.5985 12.6954 41.5985 10.1419V6.59049C41.532985 34.1182 14.0484 37.0451 14.0484C39.9723 14.0484 41.5985 12.6954 41.5985 10.1419V6.59049C41.532985 4.28821 41.19.561.532632 4.32821 41.1394.5662,6386 386.598. .5948 10,8521 38,2696 11,5455 37,0451 11.5455C35.8209 11,5455 35,4954 10,8521 35,4954 9.60062V6.59049C35.4954 5,28821 35,0173 4,66232 34,0034 4.66232C32.9703 4,66232 32,492 5,28821 32,492 6.59049V10.1419Z \ "/ \ u003e \ u003cpath fill-regra = \" evenOdd \ "clip-rule = \" evenodd \ "d = \" M25.6622 17.6335C27.8049 17.6335 29.3739 16,9402 30,2537 15.6379C30.8468 14.7755 30,9615 13.5579 30,9615 11,9512V6.59049C30.9615 5.28821 30.481.34,66.99131 4.666 28,66 286.59049C30.9615 5.28821 4,9497 8 28,1109 26,7335 4,56087 4,86533 5.50789C27.499 25,7005 21,0134 6,57349 4,56087 4.56087C23.1369 21,0134 11,9852 9.27932C21.0134 23,003 13,913 25,3754 13.913C26.5612 13,913 27,4607 13,4902 28,1109 28,1161 12,7799 12.6616C28.1109 12,7229 28,121 12.8346C28.1256 12,8854 28,1301 12,9342 28,1301 12.983C28.1301 14,4373 27,2502 15,2321 25,777 15.2321C24.8349 15,2321 24,1352 14,9821 23,5661 14.7787C23.176 14,6393 22,8472 14,5218 22,5437 14.5218C21.7977 14,5218 21,2429 15,0123 21,2429 15.6887C21.2429 16,7375 22,9072 17,6335 25,6622 17.6335ZM24.1317 9.27932C24.1317 7,94324 24,9928 7.09766 26.1024 7.09766C27.2119 7.09766 28.0918 7,94324 28.0918 9.27932C28.0918 10.6321 27.2311 11.5116 26.1024 11.5116C24.9737 11.5116 24.1317 10.6491 24.1317 9.27932Z \ "/ \ u003e \ u003cpath 11.23.125 11.5116 26.1024 11.5116C24.9737 11.5116 24.1317 10.6491 24.1317 9.27932Z \" / \ u003e \ u003cpath 11.23.125.19. 13.8962C19.3298 13.8962 19,8079 13,2535 19,8079 11,9512V8.12928C19.8079 5,82936 18,4879 4,62866 16,4027 4,62866C15,1594 4,62866 14,279 4,98375 13,3609 5,88013C12.653 5,05154 11,6581 4,62866 10,3573 4.62866C9.34336 4,62866 8,57809 4,89931 7,9466 5.5079C7.58314 4,9328 7,10506 4,66232 6,51203 4.66232C5.47873 4,66232 5,00066 5,28821 5,00066 6.59049V11.9512C5.00066 13,2535 5,47873 13,8962 6,51203 13.8962C7.54479 13,8962 8,0232 13,2535 8,0232 11.9512V8.90741C8. 0232 7,58817 8,44431 6,91179 9,53458 6.91179C10.5104 6,91179 10,893 7,58817 10,893 8.94108V11.9512C10.893 13,2535 11,3711 13,8962 12,4044 13.8962C13.4375 13,8962 13,9157 13,2535 13,9157 11.9512V8.90741C13.9157 7,58817 14,3365 6,91179 15,4269 6.91179C16.4027 6,91179 16,8045 7,58817 16,8045 8,94108 V11.9512Z \ "/ \ u003e \ u003cpath d = \" M3.31675 6.59049C3.31675 2,83866 4,66232 1,82471 5,28821 4.66232C0.791758 4,66232 0,313354 5,28821 0,313354 0,791758 13,8962 13,2535 6.59049V11.9512C0.313354 1,82471 13,8962 3,31675 13,2535 13.8962C2.85798 3,31675 11,9512V6.59049Z \ "/ \ u003e \ u003cpath d = \" M1.87209 0,400291C0,843612 0,400291 0 1,1159 0 1,98861C0 2,87869 0,822846 3,57676 1,87209 3,57676C2.90056 3,57676 3,7234 2,87869 3,7234 1,98861C3.7234 1,1159 2,90056 0,400291 1,87209 0,400291Z \ "fill = \" # 1BB76E \ "/ \ u003e \ u003c / svg \ u003e \ u003c / a \ u003e",
contentPolicyHtml: "Contribuições do usuário licenciadas sob \ u003ca href = \" https: //stackoverflow.com/help/licensing \ "\ u003ecc by-sa \ u003c / a \ u003e \ u003ca href = \" https://stackoverflow.com / legal / content-policy \ "\ u003e (política de conteúdo) \ u003c / a \ u003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
, imediatamenteShowMarkdownHelp: true, enableTables: true, enableSnippets: true
});
}
});
Obrigado por contribuir com uma resposta para Stack Overflow!
Certifique-se de responder à pergunta. Forneça detalhes e compartilhe sua pesquisa!
Mas evite ...
Pedir ajuda, esclarecimento ou responder a outras respostas.
Fazer declarações com base em opinião; apoie-os com referências ou experiência pessoal.
Para saber mais, veja nossas dicas sobre como escrever boas respostas.
Rascunho salvo
Rascunho descartado
Cadastre-se ou faça o login
StackExchange.ready (function () {
StackExchange.helpers.onClickDraftSave ('# login-link');
});
Inscreva-se usando o Google
Cadastre-se usando o Facebook
Inscreva-se usando e-mail e senha
Enviar
Postar como convidado
Nome
O email
Obrigatório, mas nunca mostrado
StackExchange.ready (
function () {
StackExchange.openid.initPostLogin ('. New-post-login', 'https% 3a% 2f% 2fstackoverflow.com% 2fquestions% 2f43124775% 2fwhy-python-3-6-1-throws-attributeerror-module-enum-has- no-attribute-intflag% 23nova-resposta ',' question_page ');
}
);
Postar como convidado
Nome
O email
Obrigatório, mas nunca mostrado
Publique a sua resposta
Descartar
Ao clicar em “Publique sua resposta”, você concorda com nossos termos de serviço, política de privacidade e política de cookies
Não é a resposta que você está procurando? Navegue por outras questões com a tag python python-3.x enums python-3.6 attributeerror ou faça sua própria pergunta.